Quickstart KMP (iOS)
Instruções para adicionar o Group Link SDK ao lado iOS do seu aplicativo Kotlin Multiplatform (KMP).
Passo 1 - Abrindo o projeto KMP no Xcode
- Acesse a pasta
iosAppcriada pelo KMP. - Abra o arquivo
iosApp.xcodeprojno Xcode.

Passo 2 - Editando o arquivo Info.plist usando o editor visual do Xcode
Todas as permissões do seu aplicativo iOS estão listadas na seção Custom iOS Target Properties do Info.plist.
- No navegador de arquivos (painel esquerdo), selecione o seu projeto no topo da árvore.
- Selecione o target do aplicativo em
TARGETS. - Acesse a aba
Info.

Passo 3 - Adicionando permissões
Nota: As mensagens de descrição são exibidas quando o aplicativo solicita ao usuário permissão para usar um serviço. Certifique-se de adicionar uma mensagem que seja significativa para os seus usuários.
Habilitar os Serviços de Localização
Para obter os resultados de alcance dos beacons, a tecnologia Group Link requer a autorização de localização Always. Ao implementar os serviços de localização no seu app, a Apple exige que as seguintes chaves sejam adicionadas ao seu arquivo Info.plist:
NSLocationWhenInUseUsageDescriptionNSLocationAlwaysAndWhenInUseUsageDescription
Exemplo de Descrição: A localização ajuda a garantir leituras mais precisas e alertas corretos sobre o consumo de água. Isso permite que o app entregue dados de consumo da sua residência.

Habilitar os Serviços de Bluetooth
Desde o iOS 13, os apps são obrigados a adicionar a chave de permissão Bluetooth ao arquivo Info.plist.
NSBluetoothAlwaysUsageDescription
Exemplo de Descrição: Para garantir a qualidade das leituras de consumo, o app precisa acessar o Bluetooth, que ajuda a coletar os dados de forma mais precisa.

Apps compatíveis com iOS 12 e inferiores
Se o seu aplicativo puder ser executado em versões mais antigas do iOS (iOS 12 e inferiores), você precisará colocar a chave Bluetooth Peripheral dentro do seu arquivo Info.plist:
NSBluetoothPeripheralUsageDescription
Exemplo de Descrição: Para garantir a qualidade das leituras de consumo, o app precisa acessar o Bluetooth, que ajuda a coletar os dados de forma mais precisa.

Habilitar a funcionalidade de tarefas em segundo plano
Para habilitar as tarefas em segundo plano no seu aplicativo, você precisa inserir a seguinte chave no seu arquivo Info.plist:
BGTaskSchedulerPermittedIdentifiers
Abra a chave criada, Permitted background task scheduler identifiers, e insira o nosso identificador:
com.grouplinknetwork.bgtask

Passo 4 - Permissões e Capabilities de Assinatura
- Selecione o target do aplicativo em
TARGETS. - Acesse a aba
Signing & Capabilities. - Clique no botão
+ Capabilitypara adicionar as seguintes capabilities:

Habilitar o Acesso às Informações de WiFi
O seu aplicativo deve ser capaz de acessar as informações da rede WiFi para que a tecnologia Group Link funcione corretamente. Para isso, você deve adicionar a seguinte capability:
Access WiFi Information

Habilitar os Background Modes Necessários
O seu aplicativo deve ser capaz de executar em background modes para que a tecnologia Group Link funcione corretamente. Para isso, você deve adicionar a seguinte capability:
Background Modes

Selecione as seguintes autorizações na lista:
- Location updates
- Uses Bluetooth LE accessories
- Acts as a Bluetooth LE accessory
- Background fetch
- Background processing

Passo 5 - Instalando o pacote Group Link
Adicionando um novo pacote ao seu projeto
- No Xcode, localize o painel à esquerda e clique no seu
PROJECT. - No topo da janela aberta, clique na aba
Package Dependencies. - A lista de pacotes utilizados no projeto será exibida.
- Clique no botão
+localizado na parte inferior esquerda dessa lista para adicionar um novo pacote.

Buscando o pacote pela URL do GitHub
- No campo de busca, no canto superior direito da janela, cole a URL do repositório:
https://github.com/Group-Link-Mobile/grouplink-package - Em alguns instantes, o resultado
grouplink-packageaparecerá na lista. - Clique no
grouplink-packagepara selecioná-lo. - Altere a
Dependency RuleparaUp to Next Minor Versione adicione a versão6.2.0. - Clique em
Add Packagepara adicionar ogrouplink-packageao projeto.
⚠️ Atenção: Na
Dependency Rule, não utilize as opçõesUp to Next Major Version,Branch,Exact Version,Range of VersionsouCommit. A configuração correta éUp to Next Minor Version → 6.2.0. Essa configuração garante que você sempre utilizará uma versão compatível do SDK publicada pelo Group Link.

Escolhendo os produtos do pacote
O Xcode irá resolver o pacote e abrir a janela Choose Package Products for grouplink-package.git.
- Verifique se o pacote GroupLink está na lista.
- Na coluna
Add to Target, confirme que ele está associado ao seu aplicativo. - Clique em
Add Packagepara confirmar a adição do pacote.

Verificando a instalação
Após a conclusão, você retornará à aba Package Dependencies. Lá, confirme que está tudo correto:
- A lista deve exibir agora o pacote
GroupLink-iOS. - O pacote
GroupLink-iOSaparece com:- Location:
https://github.com/Group-Link-Mobile/grouplink-package - Dependency Rule:
Up to Next Minor Version - Value:
6.2.0
- Location:

Passo 6 - Iniciando o Group Link SDK
Para inicializar o SDK, você precisa passar o seu Token de autenticação (fornecido pela Group Link).
- Importe a biblioteca do SDK.
- No método
start, especifique o seuTokende autenticação (fornecido pela Group Link) no parâmetrowithToken. - Chame os métodos
startBluetoothestartLocationpara solicitar as permissões de Bluetooth e Localização.
import SwiftUI
import GroupLink // <---- Importing the Group Link SDK
@main
struct iOSApp: App {
init() {
// 1 - Initializing the SDK Group Link
GroupLinkSDK.start(withToken: "YOUR_GROUP_LINK_TOKEN")
// 2 - Requesting Bluetooth permission
GroupLinkSDK.startBluetooth()
// 2 - Requesting Location Permission
GroupLinkSDK.startLocation()
}
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
Agora que o Group Link SDK para iOS está implementado e os recursos nativos estão configurados, o seu app KMP está pronto para interagir com o nosso ecossistema!